package com.channel.modules.security.config;

import com.channel.modules.security.config.bean.SecurityProperties;
import com.channel.modules.security.secutiry.TokenProvider;
import com.channel.modules.security.service.OnlineUserService;
import com.channel.modules.security.service.UserCacheManager;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.web.filter.CorsFilter;

@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(prePostEnabled = true,securityJsEnabled = true)
public class SpringSecurityConfig {
    private final TokenProvider tokenProvider;
    private final CorsFilter corsFilter;
    private final JwtAuthenticationEntryPoint jwtAuthenticationEntryPoint;
    private final JwtAccessDeniedHandler jwtAccessDeniedHandler;
    private final SecurityProperties securityProperties;
    private final ApplicationContext applicationContext;
    private final OnlineUserService onlineUserService;
    private final UserCacheManager userCacheManager;
}
